Programming methods and circuits for semiconductor memory cell and memory array using a breakdown phenomena in an ultra-thin dielectric

ABSTRACT

A programming circuit includes a wordline decoder, an adjustable voltage generator, and a column transistor. The programming circuit is useful in programming a memory cell comprised of a select transistor and a data storage element. The data storage element is programmed by a programming current. The amount of the programming current can be modulated by the column transistor, the select transistor, or the adjustable voltage generator.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present invention is a continuation-in-part of pending U.S. patent application Ser. No. 10/024,327 filed on Dec. 17, 2001 and U.S. patent application Ser. No. 09/955,641 filed Sep. 18, 2001, priority to which is hereby claimed under 35 U.S.C. §120, further wherein each is hereby incorporated by reference in their entirety.

TECHNICAL FIELD

[0002] The present invention relates to the programming of nonvolatile programmable semiconductor memory, and more particularly, to programming nonvolatile programmable semiconductor memory cells that use a breakdown phenomena in a dielectric, such as a MOS gate dielectric to store digital information.

BACKGROUND

[0003] Nonvolatile memory retains stored data when power is removed, which is required or at least highly desirable in many different types of computers and other electronic devices. One commonly available type of nonvolatile memory is the programmable read-only memory (“PROM”), which uses word line-bit line crosspoint elements such as fuses, anti-fuses, and trapped charge devices such as the floating gate avalanche injection metal oxide semiconductor (“FAMOS”) transistor to store logical information. PROM typically is not reprogrammable.

[0004] An example of one type of PROM cell that uses the breakdown of a silicon dioxide layer in a capacitor to store digital data is disclosed in U.S. Pat. No. 6,215,140 to Reisinger et al. The basic PROM disclosed by Reisinger et al. uses a series combination of an oxide capacitor and a junction diode as the crosspoint element. An intact capacitor represents the logic value 0, and an electrically broken-down capacitor represents the logic value 1. The thickness of the silicon dioxide layer is adjusted to obtain the desired operation specifications.

[0005] Improvements in the various processes used for fabricating the various types of nonvolatile memory tend to lag improvements in widely used processes such as the advanced CMOS logic process. For example, processes for devices such as flash EEPROM devices tend to use 30% more mask steps than the standard advanced CMOS logic process to produce the various special regions and structures required for the high voltage generation circuits, the triple well, the floating gate, the ONO layers, and the special source and drain junctions typically found in such devices. Accordingly, processes for flash devices tend to be one or two generations behind the standard advance CMOS logic process and about 30% more expensive on a cost-per-wafer basis. As another example, processes for antifuses must be suitable for fabricating various antifuse structures and high voltage circuits, and so also tend to be about one generation behind the standard advanced CMOS process.

[0006] The present invention discloses a CMOS compatible single-poly nonvolatile memory cell and array, and the programming circuits and methods associated therewith.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a schematic circuit diagram of a portion of a memory array in accordance with the present invention.

[0008]FIG. 2 is a partial layout diagram of a portion of the memory array represented by FIG. 1.

[0009]FIG. 3 is a cross-section diagram of an integrated circuit structure for the portion of the memory array corresponding to FIG. 2.

[0010]FIG. 4 is a cross-section diagram of a variation of the integrated circuit structure of FIG. 3.

[0011]FIG. 5 is a schematic circuit diagram of a portion of another type of memory array in accordance with the present invention.

[0012]FIG. 6 is a partial layout diagram of a portion of the memory array represented by FIG. 5.

[0013]FIG. 7 is a cross-section diagram of an integrated circuit structure for the portion of the memory array corresponding to FIG. 6.

[0014]FIG. 8 is a table of voltages.

[0015]FIG. 9 is a table of voltages.

[0016]FIG. 10 is a table of voltages.

[0017]FIG. 11 is a schematic diagram of an alternative embodiment of a semiconductor memory array.

[0018]FIG. 12 is a partial layout diagram of a portion of the memory array represented by FIG. 11.

[0019]FIG. 13 is a block schematic diagram of a semiconductor memory.

[0020]FIG. 14 is a schematic diagram of the memory array of FIG. 11 with programming circuitry that employs a variable wordline voltage.

[0021]FIG. 15 is a schematic diagram of the memory array of FIG. 11 with programming circuitry that employs a variable select transistor voltage.

[0022]FIG. 16 is a schematic diagram of the memory array of FIG. 11 with programming circuitry that employs a variable current control.

DETAILED DESCRIPTION

[0023] Programming circuits and methods for programming and reading a memory cell is disclosed. The semiconductor memory cell has a data storage element constructed around an ultra-thin dielectric, such as a gate oxide. The memory cell is used to store information by stressing the ultra-thin dielectric into breakdown (soft or hard breakdown) to set the leakage current level of the memory cell. The memory cell is read by sensing the current drawn by the cell. A suitable ultra-thin dielectric is, for example, high quality gate oxide of about 50 A thickness or less, as is commonly available from presently available advanced CMOS logic processes, for example. Such oxides are commonly formed by deposition, by oxide growth from a silicon active region, or by some combination thereof. Other suitable dielectrics include oxide-nitride-oxide composites, compound oxides, and so forth.

[0024] In the detailed description provided below, three different embodiments of a memory cell are disclosed. The programming methods and circuits disclosed herein are applicable to all three. Further, numerous specific details are provided to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.

[0025] Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0026] A detailed description of the memory cells and array is first provided in FIGS. 1-13. Then a detailed description of the programming circuitry and methods is shown in FIGS. 14-16.

[0027] An example of an arbitrary 4 by 4 portion of a memory array 100 that includes several such memory cells is shown in the schematic diagram of FIG. 1 which shows 16 memory cells, each of which includes a MOS transistor and a MOS half transistor. The memory cell at, for example, the crosspoint of the first row R1 and the first column C1 includes an n-channel MOS transistor 115 having its gate connected to the row line R1, its source connected to a source line S1, and its drain connected to one terminal of a MOS half-transistor 111.

[0028] The MOS transistor 115 is also referred to herein as a select transistor and is used to “select” a particular memory cell for programming or reading. As will be seen below, during the programming step, a voltage is applied to the select transistor and MOS half-transistor 111 to break down the gate oxide of the MOS half-transistor 111. However, it is undesirable to break down the gate oxide of the select transistor. Therefore, the gate oxide of the select transistor may be made, in some alternative embodiments, to have a thicker gate oxide than that of the MOS half-transistor 111. Additionally or in the alternative, the select transistor may be replaced by an device that is more resistant to break down.

[0029] The gate of the MOS half-transistor 111 is connected to the column line C1. The other memory cells shown in FIG. 1 are formed from half-transistor-transistor pairs 112 and 116, 113 and 117, 114 and 118, 125 and 121, 126 and 122, 127 and 123, 128 and 124, 131 and 135, 132 and 136, 133 and 137, 134 and 138, 145 and 141, 146 and 142, 147 and 143, and 148 and 144.

[0030] A MOS half-transistor functions as follows. During programming or read, a positive voltage (for a p-type active region) is applied to the gate, which is one terminal of the capacitor. The gate acts as one plate of the capacitor and also causes an n-type inversion layer to form under the gate. The inversion layer acts as the other plate of the capacitor, and together with the source/drain region forms the second terminal of the capacitor.

[0031] The use of half-transistor type data storage elements in the array 100 of FIG. 1 is advantageous because the half-transistors can be fabricated using many conventional MOS and CMOS processes without adding any mask steps to them. However, other types of ultra-thin dielectric data storage elements may be used if desired. For example, a capacitor type data storage element advantageously may be programmed in either direction and has less resistance when the ultra-thin dielectric is stressed, but may require an additional masking step in some processes. Half-transistor type data storage elements are shown in cross-section in FIG. 3, while capacitor type data storage elements are shown in cross-section in FIG. 4.

[0032] Although only a 4 by 4 portion of the memory array 100 is shown, in practice such memory arrays contain on the order of about one gigabit of memory cells when fabricated using, for example, an advanced 0.13 μm CMOS logic process, and even larger memories will be realized as CMOS logic processes improve further. The memory 100 in practice is organized into bytes and pages and redundant rows or columns (not shown), which may be done in any desired manner. Many suitable memory organizations are well known in the art.

[0033]FIG. 2 shows a partial layout diagram 200 for a portion of the memory array 100, and FIG. 3 presents a cross-section of an illustrative MOS integrated circuit 300 showing the principal structure aspects thereof corresponding to the paired memory cells formed by transistor-half transistor pairs 115 and 111 and 121 and 125 in accordance with the layout diagram of FIG. 2. The layout diagram of FIG. 2 is suitable for an advanced CMOS logic process, for example. The term “MOS” literally means metal-oxide-silicon. Although the letter “M” stands for a “metal” gate structure and the letter “O” stands for oxide, the term MOS is commonly understood to pertain to any gate material, including doped polysilicon and other good conductors, as well as to various different types of gate dielectrics not limited to silicon dioxide, and the term is so used herein. For example, the dielectric may be any type of dielectric, such as an oxide or nitride, which undergoes a hard or soft breakdown upon the application of a voltage for a period of time. In one embodiment, a thermally grown gate silicon oxide of about 50 angstroms thick is used.

[0034] The memory array 100 preferably is laid out in a grid in which the column lines such as C1 and C2 are orthogonal to the row lines such as R1, R2, R3 and R4 as well as the diffused source lines. An active region mask, containing pattern 213 (FIG. 2), is used to form oxide isolation structures, which include oxide trenches 302 and 314 (FIG. 3), and to define the active regions such as 313 (FIG. 3), which will contain the various transistors, half-transistors, and diffused source lines of the memory array. The MOS half-transistor 111 and the MOS transistor 115 at the crosspoint of the row line R1 and the column line C1 and the MOS half-transistor 125 and the MOS transistor 121 at the crosspoint of the row line R2 and the column line C1 are formed in the p well active region 313 in the following manner.

[0035] An ultra-thin gate oxide layer 312 is formed followed by a deposition and doping of polysilicon, which is patterned using a gate mask containing patterns such as 211, 214, 221 and 224 for the gates 311 and 301 of half-transistor 111, 125 (as well as the gates (not shown) of half-transistors 112 and 126 and other half-transistors), and patterns such as R1 and R2 for the row lines R1 and R2, which also serve as gates for the select transistors 115, 121, 116 and 122 (as well as other select transistors). The various source and drain regions are formed by negative lightly doped drain (“NLDD”) process steps (implants, spacers, and n+source/drain implants), creating the n+ regions 306, 308 and 310. The region 308 is also part of a diffused source line. A contact mask including patterns 210, 215, 220 and 225 (FIG. 2) is used to form contact vias to the gates 301 and 311 (FIG. 3) and other gates (not shown). A metal mask includes dashed patterns labeled C1 and C2 (FIG. 2) for forming column lines such as C1 and C2, which are orthogonal to the polysilicon row lines such as R1, R2, R3 and R4 as well as the diffused source lines. The other transistor-half transistor pairs in the memory 100 are simultaneously formed in an identical manner.

[0036]FIG. 4 shows a cross-section of an illustrative MOS integrated circuit 400 showing the principal structural aspects thereof. The cross-section 400 is similar to the cross section 300 of FIG. 3 except that the half transistors 125 and 111 of FIG. 3 are replaced by another type of ultra-thin dielectric data storage element, namely capacitors 425 and 411. The capacitor 411 at the crosspoint of the row line R1 and the column line C1 is formed from the polysilicon gate 311, which is contacted by a metal contact defined by pattern 210, and which overlies the gate oxide 312 and a deeply diffused n+ region 410. Similarly, the MOS capacitor 425 at the crosspoint of the row line R2 and the column line C1 is formed from the polysilicon gate 301, which is contacted by a metal contact defined by the pattern 215, and which overlies the gate oxide 312 and a deeply diffused n+ region 406.

[0037] The n+ regions 406 and 410 allow the capacitors 425 and 411 to have very low resistance conductive states relative to the half-transistor 125 and 111 of FIG. 3, which rely on the setting up of an inversion layer to conduct current. Another advantage of the capacitors 425 and 411 is that they can be programmed by flowing current in either direction. A disadvantage of the capacitors 406 and 410 is that they generally require the modification of commercially available processes by the addition of a mask step and/or implantation steps. For example, suitable techniques for forming the n+ regions 406 and 410 include the use of buried n+ implants prior to the gate polysilicon deposition, or by side implant diffusion after the polysilicon deposition and etch. While the n+ regions 406 and 410 are shown to be more deeply diffused than the doped regions 306 and 310 with which they are integrated, the depth of the diffusion may be varied as desired.

[0038] A variation of the memory array 100 is the memory array 500 shown in FIG. 5, which shows an arbitrary 4 by 4 portion of a larger memory array of memory cells, each of which includes a MOS transistor and a MOS half-transistor. The memory cell at, for example, the crosspoint of the first row R1 and the first column C1 includes a n-channel MOS transistor 515 having its gate connected to the row line R1, its drain connected to the first column C1, and its source connected to one terminal of a MOS half-transistor 511. The gate terminal of the MOS half-transistor 511 is connected to a source line S1. The other memory cells shown in FIG. 1 are formed from similar half transistor-transistor pairs 512 and 516, 513 and 517, 514 and 518, 521 and 525, 522 and 526, 523 and 527, 524 and 528, 531 and 535, 532 and 536, 533 and 537, 534 and 538, 541 and 545, 542 and 546, 543 and 547, and 544 and 548.

[0039] As in the case of the memory array of FIG. 1, MOS capacitors may be used instead of MOS half-transistors in the memory array of FIG. 5.

[0040]FIG. 6 shows a partial layout diagram 600 for a portion of the memory array 500, and FIG. 7 presents a cross-section of an illustrative MOS integrated circuit 700 showing the principal structure aspects thereof corresponding to the paired memory cells formed by transistor-half transistor pairs 515 and 511, and 525 and 521 in accordance with the layout diagram of FIG. 5. The layout diagram of FIG. 6 is suitable for an advanced CMOS logic process, for example. The memory array 500 preferably is laid out in a grid in which the column lines such as C1 and C2 are orthogonal to the row lines such as R1, R2, R3 and R4 as well as source lines such as S1. An n+ diffusion and active region mask containing patterns 612, 614, 622 and 624 (FIG. 6) is used to form oxide isolation structures, which include oxide trench 704 (FIG. 7), and to define the active regions such as 710 (FIG. 7), which will contain the various transistors and half-transistors of the memory array. The MOS half-transistor 511 and the MOS transistor 515 at the crosspoint of the row line R1 and the column line C1 and the MOS half-transistor 521 and the MOS transistor 525 at the crosspoint of the row line R2 and the column line C1 are formed in the p well active region 710 in the following manner. An ultra-thin gate oxide layer 702 is formed followed by a deposition and doping of polysilicon, which is patterned using a gate mask containing patterns such as R1, S1 and R2 which serve as gates for the select transistors 515, 525, 516 and 526 and for the half-transistors 511, 521, 512 and 522. The various source and drain regions are formed by negative lightly doped drain (“NLDD”) process steps (implants, spacers, and n+ source/drain implants), creating the n+ regions 712, 714, 716 and 718 (FIG. 7). A contact mask including patterns 610, 616, 620 and 626 (FIG. 6) is used to form contact vias to the drains 712 and 718 (FIG. 7) as well as to other drains (not shown). A metal mask includes dashed patterns labeled C1 and C2 (FIG. 6) for forming column lines such as C1 and C2, which are orthogonal to the polysilicon row lines such as R1, R2, R3 and R4 as well as the polysilicon source lines such as S1. The other transistor-half transistor pairs in the memory 500 are simultaneously formed in an identical manner.

[0041] The operation of the memory array 100 is now explained with reference to the illustrative voltages shown in FIG. 8. It will be appreciated that the voltages are illustrative, and that different voltages are likely to be used in different applications or when different process technologies are used. During programming, the various memory cells in the memory array 100 are exposed to one of four possible voltage combinations, which are shown on lines 801, 802, 803 and 804 of FIG. 8. Read voltages are shown on lines 805, 806, 807 and 808.

[0042] Assume that the selected row and column (“SR/SC”) is R1 and C1, which is intended to program the memory cell formed by transistor 115 and half-transistor 111. As shown on line 801, the voltage on the row line R1 is 2.5 volts and the voltage on the source line S1 is 0 volts, which is sufficient to turn on the transistor 115 and bring the drain of transistor 115 to zero volts. The voltage on the column line C1 is 7.0 volts, which causes a potential difference of 7 volts across the half-transistor 111. The gate oxide 212 in the half-transistor 111 is designed to break down at this potential difference, which programs the memory cell. When the half-transistor 111 breaks down, the resulting conductive path has sufficient resistivity to prevent the gate oxide 212 of the transistor 115 from becoming degraded or breaking down. As one example, in some devices, the channel resistance of the transistor 115 is on the order of about 10 KΩ while the resistance of the broken down oxide is on the order of greater than about 100 KΩ.

[0043] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 116 and half-transistor 112, which is at the crosspoint of a selected row and unselected column (“SR/UC”). As shown on line 802, the voltage on the row line R1 is 2.5 volts and the voltage on the source line S1 is 0 volts, which is sufficient to turn on the transistor 116 and bring the drain of transistor 115 to zero volts. However, the voltage on the column line C2 is 0 volts, which causes a potential difference of 0 volts across the half-transistor 112. The memory cell does not program.

[0044] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 121 and half-transistor 125, which is at the crosspoint of an unselected row and a selected column (“UR/SC”). As shown on line 803, the voltage on the row line R2 is 0 volts and the voltage on the source line S1 is 0 volts, so that the transistor 121 does not turn on and the node between the drain of the transistor 121 and the half-transistor 125 floats. The voltage on the column line C1 is 7.0 volts, which causes a potential difference of less than about 4 volts across the half-transistor 125. The memory cell does not program, and the potential difference of less than about 4 volts without any current flow is not sufficient to damage or degrade the gate oxide in either the half-transistor 125 or the transistor 121.

[0045] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 122 and half-transistor 126, which is at the crosspoint of an unselected row and an unselected column (“UR/UC”). As shown on line 804, the voltage on the row line R2 is 0 volts and the voltage on the source line S1 is 0 volts, so that the transistor 122 does not turn on. The voltage on the column line C2 also is 0 volts, so that no potential difference develops across the half-transistor 126. The memory cell does not program.

[0046] The memory array 100 is read in the following manner. A read select voltage of 2.5 volts is placed on the selected row (“SR”) and a read column select voltage of 1.5 volts is placed on the selected column (“SC”). All other rows, which are unselected rows (“UR”), and all other columns, which are unselected columns (“UC”), are set at 0 volts. Assume that R1 and C1 are the selected row and column (“SR/SC”) and that the memory cell formed by the transistor 115 and the half-transistor 111 is programmed. As shown on line 805, 2.5 volts (a read select voltage) are applied via row line R1 to the gate of the transistor 115 and 0 volts are applied to the source via the source line S1, causing current to be drawn from the column line C1, which is at 1.5 volts, to indicate that the memory cell is programmed. If the memory cell is not programmed, no current would flow to indicate that the memory cell is not programmed.

[0047] No current is drawn by memory cells at crosspoints having either an unselected row or an unselected column. As shown on line 806 for the case of a selected row line and an unselected column line, 2.5 volts are applied to the gate of the transistor in the memory cell, but as 0 volts are present on the column line, no current flows. As shown on line 807 for the case of an unselected row line and a selected column line, 0 volts are applied to the gate of the transistor in the memory cell. Although 1.5 volts are present on the column line, no current flows because the transistor remains off. As shown on line 808 for the case of an unselected row line and an unselected column line, 0 volts are applied to the gate of the transistor in the memory cell and 0 volts are present on the column line, so no current flows.

[0048] The operation of the memory array 500 is now explained with reference to the voltages shown in FIGS. 9 and 10. These voltages are illustrative, and different voltages are likely to be used in different applications or when different process technologies are used. It will also be appreciated that while the voltages listed in the tables of FIGS. 8, 9 and 10 are different, the principle behind the various voltages is the same and is suggestive of the breadth of useful voltages.

[0049] Consider first the illustrative programming voltages listed in the table of FIG. 9. These voltages are appropriate where the half-transistor contains an ultra-thin gate oxide but the select transistors are input/output type devices having a gate oxide thickness greater than 50 Å. During programming, the various memory cells in the memory array 500 are exposed to one of four possible voltage combinations, which are shown on lines 901, 902, 903 and 904 of FIG. 9. Common to all voltage combinations is the value of the source line S1 voltage, which is 0 volts.

[0050] Assume that the selected row and column (“SR/SC”) is R1 and C1, which is intended to program the memory cell formed by transistor 515 and half-transistor 511. As shown on line 901, the voltage on the row line R1 is 7.0 volts and the voltage on the column line C1 is 7.0 volts, which places 7.0 volts on the gate and drain and is sufficient to turn on the transistor 515. The source of transistor 515 is brought to 7.0 volts less a slight voltage drop across the transistor 515, which causes a potential difference of 6.6 volts across the half-transistor 511. The gate oxide 712 in the half-transistor 511 is designed to break down at this potential difference, which programs the memory cell. When the half-transistor 511 breaks down, the resulting conductive path has sufficient resistivity to prevent the gate oxide 712 of the transistor 515 from becoming degraded or breaking down.

[0051] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 516 and half-transistor 512, which is at the crosspoint of a selected row and an unselected column (“SR/UC”). As shown on line 902, the voltage on the row line R1 is 7.0 volts and the voltage on the column line C1 is 0 volts, which places 7.0 volts on the gate and is sufficient to turn on the transistor 516 and bring the source of transistor 516 to about the voltage on the column line C2, which is zero volts. Since the potential difference across the half-transistor 512 is about 0 volts, the memory cell does not program.

[0052] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 525 and half-transistor 521, which is at the crosspoint of an unselected row and a selected column (“UR/SC”). As shown on line 903, the voltage on the row line R2 is 0 volts and the voltage on the column line C1 is 7.0 volts, which places 0 volts on the gate and 7.0 volts on the drain. The transistor 525 does not turn on, although the 7.0 voltage difference between the potential on the drain and the potential on the source line S1 approximately divides between the transistor 525 and the half-transistor 125 and causes less than 4 volts to appear across the oxide of the half-transistor 521. The memory cell does not program, and the potential difference of less than about 4 volts without any current flow is not sufficient to damage or degrade the gate oxide in either the half-transistor 521 or the transistor 525.

[0053] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 526 and half-transistor 522, which is at the crosspoint of an unselected row and an unselected column (“UR/UC”). As shown on line 904, the voltage on the row line R2 is 0 volts and the voltage on the drain line C2 is 0 volts, so that the transistor 526 does not turn on. The voltage on the source line S1 also is 0 volts, so that no potential difference develops across the half-transistor 522. The memory cell does not program.

[0054] Consider next the illustrative programming voltages listed in the table of FIG. 10. These voltages are appropriate where both the half-transistors and the select transistors contain an ultra-thin gate oxide. During programming, the various memory cells in the memory array 500 are exposed to one of four possible voltage combinations, which are shown on lines 1001, 1002, 1003 and 1004 of FIG. 10. Common to all voltage combinations is the value of the source line S1 voltage, which is minus 4.5 volts.

[0055] Assume that the selected row and column (“SR/SC”) is R1 and C1, which is intended to program the memory cell formed by transistor 515 and half-transistor 511. As shown on line 1001, the voltage on the row line R1 is 2.5 volts and the voltage on the column line C1 is 2.5 volts, which places 2.5 volts on the gate and drain and is sufficient to turn on the transistor 515. The source of transistor 515 is brought to 2.5 volts less a slight voltage drop across the transistor 515, which causes a potential difference of 6.6 volts across the half-transistor 511. The gate oxide 712 in the half-transistor 511 is designed to break down at this potential difference, which programs the memory cell. When the half-transistor 511 breaks down, the resulting conductive path has sufficient resistivity to prevent the gate oxide 712 of the transistor 515 from becoming degraded or breaking down.

[0056] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 516 and half-transistor 512, which is at the crosspoint of a selected row and an unselected column (“SR/UC”). As shown on line 1002, the voltage on the row line R1 is 2.5 volts and the voltage on the column line C1 is 0 volts, which places 2.5 volts on the gate and is sufficient to turn on the transistor 516 and bring the source of transistor 516 to about the voltage on the column line C2, which is zero volts. Since the potential difference across the half-transistor 512 is about 4.0 volts, the memory cell does not program.

[0057] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 525 and half-transistor 521, which is at the crosspoint of an unselected row and a selected column (“UR/SC”). As shown on line 1003, the voltage on the row line R2 is 0 volts and the voltage on the column line C1 is 2.5 volts, which places 0 volts on the gate and 2.5 volts on the drain. The transistor 525 does not turn on, although the 6.5 volt difference between the potential on the drain and the potential on the source line S1 approximately divides between the transistor 525 and the half-transistor 125 and causes less than about 4 volts to appear across the oxide of the half-transistor 521. The memory cell does not program, and the potential difference of less than about 4 volts without any current flow is not sufficient to damage or degrade the gate oxide in either the half-transistor 521 or the transistor 525.

[0058] With R1 and C1 being the selected row and column, consider the impact on the memory cell formed by transistor 526 and half-transistor 522, which is at the crosspoint of an unselected row and an unselected column (“UR/UC”). As shown on line 1004, the voltage on the row line R2 is 0 volts and the voltage on the drain line C2 is 0 volts, so that the transistor 526 does not turn on. Since the voltage on the source line S1 is minus 4.5 volts, the potential difference that develop across the half-transistor 522 is less than about 4 volts. The memory cell does not program, and the potential difference of less than about 4 volts without any current flow is not sufficient to damage or degrade the gate oxide in either the half-transistor 522 or the transistor 526.

[0059] Regardless of whether the programming voltages of the table of FIG. 9 or the table of FIG. 10 are used, the memory array 500 is read in the following manner. A read select voltage of 2.5 volts is placed on the selected row (“SR”) and a read column select voltage of 1.5 volts is placed on the selected column (“SC”). All other rows, which are unselected rows (“UR”), and all other columns, which are unselected columns (“UC”), are set at 0 volts. Assume that R1 and C1 are the selected row and column (“SR/SC”) and that the memory cell formed by the transistor 515 and the half-transistor 511 is programmed. As shown on lines 905 and 1005, 2.5 volts (a read select voltage) are applied via row line R1 to the gate of the transistor 515 and 1.5 volts are applied to the drain via the column line C1, causing current to be drawn from the column line C1 to indicate that the memory cell is programmed. If the memory cell is not programmed, no current would flow to indicate that the memory cell is not programmed.

[0060] No current is drawn by memory cells at crosspoints having either an unselected row or an unselected column. As shown on lines 906 and 1006 for the case of a selected row line and an unselected column line, 2.5 volts are applied to the gate of the transistor in the memory cell, but as 0 volts are present on the column line, no current flows. As shown on lines 907 and 1007 for the case of an unselected row line and a selected column line, 0 volts are applied to the gate of the transistor in the memory cell. Although 1.5 volts are present on the column line, no current flows because the transistor remains off. As shown on lines 908 and 1008 for the case of an unselected row line and an unselected column line, 0 volts are applied to the gate of the transistor in the memory cell and 0 volts are present on the column line, so no current flows.

[0061] The design of the memory cells and arrays described above and shown in FIGS. 1-10 provide a significant advantage of cost and performance over prior art memory cells. However, as seen above, during programming, a relatively large programming voltage (typically 6 or more) is applied to the oxide of the half transistor. For those rows that are not selected for programming, i.e., the select transistors for unprogrammed cells, a relatively large voltage will be present across the oxide of the select transistors not programmed if the cell has been previously programmed. This may damage (breakdown) the oxide of those selected transistors. In order to combat this problem, a thicker gate oxide for the select transistor (on the order of 70 angstroms) may be used. However, the use of a thicker gate oxide results in a larger cell size for the memory cell.

[0062] By modifying the layout and programming voltages, the issues raised above may be resolved. Specifically, in an alternative embodiment described below, the gate oxide of the select transistor may also be made to be an ultra-thin dielectric, same as the half-transistor storage element. This is because the select transistors of unselected memory cells do not experience a high voltage across the gate oxide. Turning to FIGS. 11 and 12, a schematic view and top layout view of an alternative embodiment of the present invention can be seen. In this embodiment, a select transistor 1701 is controlled by a signal VWRI (the subscript referring to “Wordline Read No. 1”). Other rows of memory cells have their select transistors controlled by signals VWRN, where N varies from 1 to N (the total number of rows in the memory array). The signals VWRN are carried on what are also referred to as row select lines or select wordlines.

[0063] The drain of the select transistor 1701 is connected to a column select line 1705 (also known as a column bitline) that provides a voltage VCI. Other columns of memory cells have the sources of the select transistors controlled by signals VCM, where M varies from 1 to M (the total number of columns in the memory array).

[0064] The source of the select transistor 1701 is connected to one terminal of a capacitor 1703. In one embodiment, the capacitor 1703 is a MOS capacitor formed by an implant region, a gate oxide, and a polysilicon layer. In one embodiment, the source of the select transistor 1701 is connected to the implant region of the MOS capacitor 1703. The gate oxide of the capacitor is used as the storage element, e.g., the gate oxide can be selectively broken down for programming as described in detail above. The polysilicon layer of the MOS capacitor 1703 is connected to a programming line 1701 that provides a voltage VWPI. Other rows of memory cells have the polysilicon layer of the MOS capacitor 1703 connected to signals VWPN, where N varies from 1 to N (the total number of rows in the memory array). The signals VWRN are carried on what are also referred to as row program lines or row wordlines.

[0065] The top layout view of the memory array can be seen in FIG. 12. In this top view, six memory cells are shown. Like structures are designed with like numbers in both FIGS. 11 and 12. Thus, the select transistor 1701 in FIG. 12 is shown as a polysilicon layer (VWRI) formed between source and drain implants. FIG. 12 also shows contacts 1801 that connect the drain of the select transistor 1701 to a column bitline.

[0066] The operation of the memory cell of FIGS. 11 and 12 is now explained with reference to the illustrative voltages shown in the table below: VC VWP VWR VXO VGO Program Program SC/SR 0 5.5 2 5.5 2 Yes SC/UR 0 0 0 0 0 No UC/SR 2 5.5 2 3.5 0 No UC/UR 2 0 0 0 2 No Sense Current Read SC/SR 1.2 0 1.2 Yes SC/UR 1.2 0 0 No UC/SR 0 0 0 No UC/UR 0 0 0 No

[0067] It will be appreciated that the voltages are illustrative, and that different voltages are likely to be used in different applications or when different process technologies are used. During programming, the various memory cells in the memory array are exposed to one of four possible voltage combinations, which correspond to: (1) the cell that is the intersection of the Selected Column (SC) and Selected Row (SR); (2) the cells that are not in the selected column (referred to as unselected column or “UC”), but are in the selected row; (3) the cells that are no tin the selected row (referred to as unselected row or “UR”), but are in the selected column; and (4) the cells that are not in the selected row and not in the selected column.

[0068] For the cell in the selected row and column (“SR/SC”), the voltage on the row line VWR is 2 volts, the voltage on the column select line VC is 0 volts, and the voltage on the programming line VWP 5.5 volts. This causes a potential difference (VXO) of 5.5 across the oxide of the capacitor 1703. The capacitor oxide in the capacitor is designed to break down at this potential difference, which programs the memory cell. Further, the voltage across the oxide of the select transistor, designed as VGO has a maximum of 2 volts. This prevents breakdown of the oxide of the select transistor.

[0069] Next, we consider the impact on a memory cell that is at the crosspoint of a selected row and unselected column (“SR/UC”). As shown in the table above, the voltage on the row line VWR is 2 volts, the voltage on the column select line VC is 2 volts, and the voltage on the programming line VWP 5.5 volts. This will result in a voltage VXO of 3.5 volts across the oxide of the capacitor. This will not break down the oxide, and thus, the cell is not programmed. Further, the maximum voltage VGO across the oxide of the select transistor is 2 volts. This allows for the use of an ultra thin gate oxide for the select transistor.

[0070] Next, consider the impact of the memory cell that is at the crosspoint of an unselected row and a selected column (“UR/SC”). As shown in the table above, the voltage on the row line VWR is 0 volts, the voltage on the column select line VC is 0 volts, and the voltage on the programming line VWP 0 volts. This will result in a voltage VXO of 0 volts across the oxide of the capacitor. This will not break down the oxide, and thus, the cell is not programmed. Further, there is no voltage VGO across the oxide of the select transistor. Again, this allows for the use of an ultra thin gate oxide for the select transistor.

[0071] Next, consider the impact on the memory cell that is at the crosspoint of an unselected row and an unselected column (“UR/UC”). As shown in the table above, the voltage on the row line VWR is 0 volts, the voltage on the column select line VC is 2 volts, and the voltage on the programming line VWP is 0 volts. This will result in a voltage VXO of 10 volts across the oxide of the capacitor. This will not break the oxide, and thus, the cell is not programmed. Further, the maximum voltage VGO across the oxide of the select transistor is 2 volts. Again, this allows for the use of an ultra thin gate oxide for the select transistor.

[0072] The memory can be read in the following manner. A read select voltage of 1.2 volts is placed on the selected row (“SR”) and a read column select voltage of 1.2 volts is placed on the selected column (“SC”). All other rows, which are unselected rows (“UP”), and all other columns, which are unselected columns (“UC”), are set at 0 volts. Assume that the memory cell at the crosspoint of the selected column and selected row is programmed. A 1.2 volts (a read select voltage) is applied via row line VWR to the gate of the select transistor 1701 and 1.2 volts is applied to the drain via the column line VC. If the cell is programmed, current would be drawn from the column line VC, which is at 1.2 volts. If the memory cell is not programmed, no current would flow to indicate that the memory cell is not programmed.

[0073] Various studies of oxide breakdown, which were performed in contexts different than the memory cells shown in the arrays 100 (FIG. 1) and 500 (FIG. 5), indicate suitable voltage levels for breaking down ultra-thin gate oxides and establishing that the breakdown is controllable. When an ultra-thin gate oxide is exposed to voltage-induced stress, breakdown in the gate oxide occurs. Although the actual mechanisms leading to the intrinsic breakdown of gate oxide are not well understood, the breakdown process is a progressive process passing through a soft breakdown (“SBD”) stage followed by a hard breakdown (“HBD”) stage. One cause of breakdown is believed to be oxide defect sites. These may act alone to cause breakdown, or may trap charges and thereby cause high local fields and currents and a positive feedback condition that leads to thermal runaway. Improved fabrication processes resulting in fewer oxide defects are reducing the occurrence of this type of breakdown. Another cause of breakdown is believed to be electron and hole trapping at various sites even in defect-free oxide, which also leads to thermal runaway.

[0074] The memory array 100 shown in FIG. 1 is in practice part of a memory integrated circuit that includes many other well-known elements such as sense amplifiers, pull-up circuits, word line amplifiers, sense amplifiers, decoders, voltage multipliers, and so forth. An illustrative memory 1600 is shown in FIG. 13, and includes control logic 1602, an address latch 1604, a high voltage pump 1606, a Y decoder 1608, an X decoder 1610, an input/output buffer 1612, a sense amplifier 1614, and a memory cell array 1616, which may be like the memory array 100 or the memory array 500. The high voltage pump 1606 is useful in some arrangements such as shown in the tables of FIGS. 8 and 9 requiring a high programming voltage such as 7.0 volts. The high voltage is furnished to the lines as required; in FIG. 13 the high voltage is required at the column or Y lines only, such as required by the arrangement indicated by the table of FIG. 8. As these elements and their use in conjunction with memory arrays whose operational parameters are clearly defined are otherwise well known in the art, they are not described further herein. It will be appreciated that memory 1600 is only illustrative as many other techniques for addressing a memory array, for transferring data into and out of a memory array, for supplying the various operating voltages required by the memory array, and so forth may be used as desired.

[0075] The memory cells and arrays disclosed herein is manufactured using any advanced process that makes n type gated devices, p type gated devices, or both types of devices, and can achieve a gate dielectric that is sufficiently thin to be stressed to SBD or HBD in a practical time using a voltage that is less than the junction voltage or the available thickest oxide breakdown voltage. Any of a great many different MOS processes of different lithography may be used, including but not limited to 0.25 μm, 0.18 μm, 0.15 μm, and 0.13 μm which are commonly available at present, and lithography of 0.10 μm and better which are likely to be commonly available in the future.

[0076] All of the various MOS transistors, MOS half-transistors, and MOS capacitors used in the various memory cells described herein in most cases are normal low voltage logic transistors having, for example, an ultra-thin gate oxide thickness on the order of 50 Å for a 0.25 μm process, or on the order of 20 Å for a 0.13 μm process. The voltage across such an ultra-thin gate oxide can be temporarily during programming much higher than VCC, which typically is 2.5 volts for an integrated circuit fabricated with a 0.25 μm process, and 1.2 volts for an integrated circuit fabricated with a 0.13 μm process. Such ultra-thin oxides typically can stand up to as much as 4 or 5 volts without significant degradation on the transistor performance. In the event that voltages are used in the memory array that expose the cell select transistors to more than about 4 volts, which is the case for the voltages shown in the table of FIG. 9, the cell select transistors preferably are fabricated with a thicker gate oxide while the half-transistors or capacitors are fabricated with the ultra-thin gate oxide. Many CMOS logic processes provide for the formation of both an ultra-thin gate oxide and a thicker oxide for input/output (“I/O”) purposes, the thicker oxide being, for example, about 70 Å for an integrated circuit fabricated for a 3.3 volt I/O, and about 50 Å for an integrated circuit fabricated for a 2.5 volt I/O.

[0077]FIG. 14 shows a first embodiment of the programming circuitry suitable for programming the memory array. FIG. 14 shows that the memory cells of FIG. 12 are used, however, the circuitry and methods described can easily be adapted to the other variations of memory cells described above.

[0078] The programming of the cells through the select transistor 1701 involve the breaking down the oxide of the capacitor 1703. The extent of the breakdown of the oxide can be controlled using three parameters: current through the oxide during breakdown, voltage across the oxide during breakdown, and length of time that the oxide is exposed to breakdown current and voltage. Thus, the three parameters of time, voltage, and current control the programming of the capacitor 1703.

[0079] It has been found that variation of the time parameter does not efficiently modulate the amount of breakdown of the oxide. Instead, control of current and/or voltage is found to be the more effective and efficient means to modulate the oxide breakdown.

[0080] In FIG. 14, the memory array 1401 comprises two rows by three columns of memory cells 1603. It can be appreciated that the memory array 1401 in practical implementations will be much larger, but to avoid obscuring the invention, only a relatively small memory array 1401 is shown. The programming circuitry consists of wordline decoders 1605(1-2, one for each row), level shifters 1607(1-2, one for each row), an adjustable voltage generator 1601, fixed column voltage generators 1611(1-3, one for each column), and column current control transistors 1609(1-3, one for each column bitline).

[0081] As noted above, the cells 1603 are programmed by breaking down the oxide of the capacitor 1703 of the cell 1603. This is done by placing a voltage across the capacitor. Thus, as described above in connection with FIGS. 12-13, the column bitlines are grounded (or other low voltage), while the row wordlines have a relatively high voltage placed on them, via the level shifters 1607. As will be seen below, in the embodiment of FIG. 14, the exact high voltage placed on the row wordline is variable depending upon the extent of the required programming. Further, the wordline decoders 1605 selectively turn on the select transistors 1701 of the cells 1603 in order to place the column bitline voltage onto one terminal of the capacitor 1703 and allow current to flow through the capacitor 1703.

[0082] In one embodiment, rows of the memory array 1401 are programmed at the same time. Thus, only one of the wordline decoders 1605 is “active” or “on” at any time. For example, assume that wordline decoder 1605-1 for row one is active. The wordline decoder 1605-1 would then provide a fixed voltage, greater than the threshold voltage of the select transistor, to the gate of the connected select transistors, thereby turning on all of the select transistors in row one of the memory array 1401. The wordline decoders 1605 may simply be a simple switch that when activated will provide a voltage to the gates of the select transistors 1701. Of course, other more complex or sophisticated circuitry or mean to accomplish this same task may be used.

[0083] The other wordline decoders (all other rows other than row one) are “inactive” or “off”, thereby placing a low voltage onto the gates of their respective connected select transistors of the remaining memory cells. This results in the select transistors of all other rows being turned off. Because of this, no current can flow through the capacitor and those memory cells are not programmed.

[0084] Returning to the memory cells of row one, the select transistors are turned on and the column bitlines are all placed at a low voltage, typically ground or Vss. This results in a low voltage placed on one terminal of the capacitors 1703. The other terminal of the capacitor are connected to the program row wordline, which has a relatively high voltage placed on it, via the level shifter 1607 for row one. Note that the wordline decoder 1605-1 logically controls the activation of the associated level shifter 1607-1. In other words, the level shifter 1607-1 is active only when the wordline decoder 1605-1 is active. The level shifters 1607 may be implemented as a simple switch that when activated by a signal from the wordline decoder 1605, will cause a voltage from the adjustable voltage generator 1601 to be placed on the program row wordline. Of course, other more complex or sophisticated circuitry or mean to accomplish this same task may be used.

[0085] Even though there is a voltage difference across the capacitor 1703, this will not result in programming unless current can flow across the capacitor 1703. The path of the current is shown in FIG. 14 as flowing from the program row wordline, across the capacitor 1703, across the select transistor 1701, and down to the column bitline.

[0086] At the bottom of each column bitline is an associated column current control transistor 1609 that is controlled by the fixed column voltage generator 1611. Only if the fixed column voltage generator 1611 for a particular column bitline is turned on, will the column current control transistor 1609 be turned on, thereby allowing current to flow therethrough. Additionally, the column current control transistor 1609 will control the maximum current able to flow on the column bitline to program the memory cell.

[0087] As one example, assume that it is desired to program the memory cell in column one, but not the memory cell in column two. In such a situation, column control transistor 1609-1 is turned on by fixed column voltage generator 1611-1. This allows current to flow across the capacitor 1703, across the select transistor 1701, and down to the bitline 1603-1. The result is a programmed memory cell. However, column control transistor 1609-2 is turned off by fixed column voltage generator 1611-2. This does not allow current to flow across the capacitor 1703, across the select transistor 1701, and down to the bitline 1603-1. The result is an unprogrammed memory cell. Thus, the programming of the memory cell is controlled in this embodiment by controlling the fixed column voltage generators 1611.

[0088] Another important aspect of the programming circuitry of FIG. 14 is that the memory cells 1603 can be variably programmed by controlling the magnitude of the voltage placed on the row wordlines. Thus, the level shifters 1607, under control of the wordline decoders 1605, places a voltage onto the row wordlines that is determined by the adjustable voltage generator 1601. In one example, the adjustable voltage generator may generate a voltage of between 6 volts and 12 volts, which will be propagated by the level shifters 1607 onto the row wordlines. The particular voltage output by the adjustable voltage generator is determined by a control signal.

[0089] By being able to control the voltage on the row wordline, the degree of breakdown of the oxide in the capacitor 1703 can be controlled. A lower voltage closer to the 6 volt range will cause minimal breakdown, whereas a higher voltage closer to the 12 volt range will cause greater breakdown. This in turn will effect the amount of current flowing through the capacitor during the read operation. In such a manner, multi-level data can be stored in the memory cell 1603. Thus, the ability to variably control the voltage on the row wordline provides the advantage of multi-level data programming. Further, in some embodiments, the variable voltage on the row wordline may be used in analog programming applications.

[0090] Additionally, the ability to variably control the voltage on the program row wordline also provides the ability to control the programming current, thereby controlling the amount of power consumption during programming. If power consumption is an issue, then a lower programming voltage may be used. In other applications, power consumption is not as critical, but rather read speed is more important. In such a situation, it may be advantageous to use a high programming current, which will generally result in a faster read speed for the programmed memory cells. Finally, the ability to variably control the voltage on the program row wordline also provides the ability to control the programming current to avoid damage to the capacitor.

[0091]FIG. 15 shows a second embodiment of programming circuitry that controls the programming current by controlling the select transistor 1701 of the memory cells 1603. In this embodiment, a fixed high voltage generator 2001 is used to provide a high fixed voltage through the level shifters 1607 to the program row wordlines. Further, the fixed column voltage generators 1611 are the same as in FIG. 14.

[0092] However, additional components are included to modulate the gate voltage on the select transistors 1701. Specifically, an adjustable gate voltage generator 2003 is provided that outputs a variable voltage responsive to a control line. The output of the adjustable gate voltage generator 2003 is provided to gate level shifters 2005. In operation, the wordline decoders 1605 are operable to activate the gate level shifters 2005 to pass the voltage provided by the adjustable gate voltage generator 2003 to the gate of the select transistors 1701. As seen in FIG. 15, the wordline decoders 1605 control the activation of both the high voltage level shifters 1607 for the program row wordlines and the gate level shifters 2005 for the gates of the select transistors 1701. In this manner, by controlling the voltage applied to the gate of the select transistors, the programming current can be controlled.

[0093] Finally, in the third embodiment shown in FIG. 16, the current during programming is controlled by the column current control transistors 1609. In this embodiment, the adjustable voltage generator 1601 of FIG. 14 is replaced with a fixed voltage generator 2001. This results in a fixed programming voltage being applied to the capacitors 1703 during programming.

[0094] However, the fixed column voltage generators 1611 of FIG. 14 are replaced with adjustable column voltage generators 2011 of FIG. 16. As seen in FIG. 16, there is one adjustable column voltage generator 2011 for each column bitline. Thus, in the third embodiment of FIG. 16, by controlling the gate voltage of the column current control transistor 1609 (using the adjustable column voltage generator), the amount of current flowing therethrough, and thus through the capacitor 1703, can be precisely controlled. For example, the gate voltage of the column current control transistor 1609 can be varied such that the current flowing therethrough can be related to the gate voltage.

[0095] An additional advantage of this embodiment is that multi-level programming of the different cells in a row can be done in a single programming step. This can be done by varying the gate voltage of the column current control transistor 1609 for different column bitlines, and thus different memory cells of a row. For example, adjustable column voltage generator 2011-1 may provide a zero output voltage, resulting in no current flow and no programming of the memory cell in column one. Further, adjustable column voltage generator 2011-2 may provide a mid-level output voltage, resulting in a mid-level current flow and a first level of programming of the memory cell in column two. Finally, adjustable column voltage generator 2011-3 may provide a high output voltage, resulting in a high current flow and a second level of programming of the memory cell in column three. Thus, multi-level programming, or even full analog programming of the memory cells can be achieved.

[0096] The description of the invention and its applications as set forth herein is illustrative and is not intended to limit the scope of the invention. Variations and modifications of the embodiments disclosed herein are possible, and practical alternatives to and equivalents of the various elements of the embodiments are known to those of ordinary skill in the art. For example, the various voltages set forth in the various examples are only illustrative, since one has some discretion as to the precise voltage to select within a range of voltages, and the voltages are in any event dependent on the device characteristics. The terms row line, column line, and source line have been used to describe types of lines commonly used in memories, but some memories may be alternatives thereto. Generally speaking, row lines may be considered to be a specific type of select line, and column and source lines may be considered to be specific types of access lines. These and other variations and modifications of the embodiments disclosed herein may be made without departing from the scope and spirit of the invention. 

I/We claim:
 1. An apparatus for programming a memory cell, the memory cell comprising a select transistor and a data storage element, said select transistor having a gate connected to a select wordline, a source connected to a first terminal of said data storage element, and a drain connected to a column bitline, said apparatus comprising: a column current control transistor connected to said column bitline; a wordline decoder connected to said gate of said select transistor through said select wordline, said wordline decoder providing an output signal to said select transistor to activate said select transistor; an adjustable voltage generator providing a variable voltage output; and a high voltage level shifter connected to a second terminal of said data storage element through a row wordline, said high voltage level shifter connected to said adjustable voltage generator and operative to place said variable voltage output onto said row wordline.
 2. The apparatus of claim 1 wherein said high voltage level shifter is activated by said output signal from said wordline decoder.
 3. The apparatus of claim 1 wherein the data storage element is a MOS capacitor.
 4. The apparatus of claim 1 wherein said data storage element comprises a conductive structure forming said second terminal, an ultra-thin dielectric underlying said conductive for physical storage of data, and a doped semiconductor region forming said first terminal underlying both the ultra-thin dielectric and the conductive structure.
 5. The apparatus of claim 1 wherein said column current control transistor is controlled by a fixed column voltage generator such that said column current control transistor allows current to flow on said column bitline.
 6. The apparatus of claim 4 wherein said data storage element is programmed by breaking down said ultra-thin dielectric by applying a voltage between said first terminal and said second terminal.
 7. An apparatus for programming a memory cell, the memory cell comprising a select transistor and a data storage element, said select transistor having a gate connected to a select wordline, a source connected to a first terminal of said data storage element, and a drain connected to a column bitline, said apparatus comprising: a column current control transistor connected to said column bitline; an adjustable gate voltage generator providing a variable voltage output; and a gate level shifter connected to said gate of said select transistor through said select wordline, said gate level shifter connected to said adjustable gate voltage generator and operative to place said variable voltage output onto said select wordline; a wordline decoder providing an output signal to said gate level shifter to cause said variable output voltage to be placed on said select wordline; and a high voltage level shifter connected to a second terminal of said data storage element through a row wordline, said high voltage level shifter placing a fixed high voltage onto said row wordline.
 8. The apparatus of claim 7 wherein said high voltage level shifter is activated by said output signal from said wordline decoder.
 9. The apparatus of claim 7 wherein the data storage element is a MOS capacitor.
 10. The apparatus of claim 7 wherein said data storage element comprises a conductive structure forming said second terminal, an ultra-thin dielectric underlying said conductive for physical storage of data, and a doped semiconductor region forming said first terminal underlying both the ultra-thin dielectric and the conductive structure.
 11. The apparatus of claim 7 wherein said column current control transistor is controlled by a fixed column voltage generator such that said column current control transistor allows a predetermined fixed current to flow on said column bitline.
 12. The apparatus of claim 10 wherein said data storage element is programmed by breaking down said ultra-thin dielectric by applying a voltage between said first terminal and said second terminal.
 13. An apparatus for programming a memory cell, the memory cell comprising a select transistor and a data storage element, said select transistor having a gate connected to a select wordline, a source connected to a first terminal of said data storage element, and a drain connected to a column bitline, said apparatus comprising: a wordline decoder connected to said gate of said select transistor through said select wordline, said wordline decoder providing an output signal to said select transistor to activate said select transistor; an adjustable column voltage generator providing a variable voltage output; a high voltage level shifter connected to a second terminal of said data storage element through a program row wordline, said high voltage level shifter placing a fixed high voltage onto said program row wordline; a column current control transistor connected to said column bitline, said column current control transistor having a gate connected to said adjustable voltage generator to receive said variable voltage output.
 14. The apparatus of claim 13 wherein said high voltage level shifter is activated by said output signal from said wordline decoder.
 15. The apparatus of claim 13 wherein the data storage element is a MOS capacitor.
 16. The apparatus of claim 13 wherein said data storage element comprises a conductive structure forming said second terminal, an ultra-thin dielectric underlying said conductive for physical storage of data, and a doped semiconductor region forming said first terminal underlying both the ultra-thin dielectric and the conductive structure.
 17. The apparatus of claim 16 wherein said data storage element is programmed by breaking down said ultra-thin dielectric by applying a voltage between said first terminal and said second terminal.
 18. A method of programming a memory cell, the memory cell comprising a select transistor and a data storage element, said select transistor having a gate connected to a select wordline, a source connected to a first terminal of said data storage element, and a drain connected to a column bitline, said method comprising: allowing current flow through said column bitline; turning on said select transistor; and providing a variable voltage to a second terminal of said data storage element through a program row wordline, said variable voltage used to control a programming current for said data storage element.
 19. The method of claim 18 wherein said select transistor is turned on at the same time said variable voltage output is provided to said program row wordline.
 20. A method of programming a memory cell, the memory cell comprising a select transistor and a data storage element, said select transistor having a gate connected to a select wordline, a source connected to a first terminal of said data storage element, and a drain connected to a column bitline, said method comprising: allowing current flow through said column bitline; providing a high voltage on a second terminal of said data storage element through a program row wordline; and providing a variable voltage to the gate of said select transistor through said select wordline, said variable voltage used to control a programming current for said data storage element.
 21. The method of claim 20 wherein said variable voltage is applied to said select transistor at the same time said high voltage is provided to said second terminal.
 22. A method of programming a memory cell, the memory cell comprising a select transistor and a data storage element, said select transistor having a gate connected to a select wordline, a source connected to a first terminal of said data storage element, and a drain connected to a column bitline, said method comprising: turning on said select transistor; providing a high voltage on a second terminal of said data storage element through a program row wordline; and regulating the current flow through said column bitline to control a programming current for said data storage element.
 23. The method of claim 22 wherein said regulating the current flow is accomplished with a column current control transistor.
 24. The method of claim 23 wherein said column current control transistor is modulated by an adjustable column voltage generator. 